import { join } from 'path'

// 测试文件信息
interface TestFile {
  id: string
  name: string
  type: string
  size: number
  path: string
  date: string
}

// 获取测试文件列表
export const getTestFiles = (): TestFile[] => {
  // PDF文件
  const pdfFile = {
    id: 'test-pdf-1',
    name: '关于2025年应届高校毕业生一次性求职创业补贴的通知.pdf',
    type: 'document',
    size: 2704785, // 文件大小
    path: join(
      __dirname,
      '../assets/test-files/关于2025年应届高校毕业生一次性求职创业补贴的通知.pdf'
    ),
    date: new Date().toISOString()
  }

  // Excel文件
  const excelFile = {
    id: 'test-excel-1',
    name: '2026年应届困难毕业生一次性求职补贴申报花名册.xlsx',
    type: 'document',
    size: 11233, // 文件大小
    path: join(__dirname, '../assets/test-files/2026年应届困难毕业生一次性求职补贴申报花名册.xlsx'),
    date: new Date().toISOString()
  }

  // Word文件
  const wordFile = {
    id: 'test-word-1',
    name: '行测速解口诀卡1.docx',
    type: 'document',
    size: 922597, // 文件大小
    path: join(__dirname, '../assets/test-files/行测速解口诀卡1.docx'),
    date: new Date().toISOString()
  }

  // ZIP文件
  const zipFile = {
    id: 'test-zip-1',
    name: '离校工作手续模版.zip',
    type: 'archive',
    size: 41815, // 文件大小
    path: join(__dirname, '../assets/test-files/离校工作手续模版.zip'),
    date: new Date().toISOString()
  }

  // 返回所有测试文件
  return [pdfFile, excelFile, wordFile, zipFile]
}

// 获取特定类型的测试文件
export const getTestFileByType = (fileType: string): TestFile | null => {
  const allFiles = getTestFiles()

  // 根据文件类型查找
  switch (fileType.toLowerCase()) {
    case 'pdf':
      return allFiles.find((file) => file.name.endsWith('.pdf')) || null
    case 'excel':
    case 'xlsx':
      return allFiles.find((file) => file.name.endsWith('.xlsx')) || null
    case 'word':
    case 'docx':
      return allFiles.find((file) => file.name.endsWith('.docx')) || null
    case 'zip':
    case 'archive':
      return allFiles.find((file) => file.name.endsWith('.zip')) || null
    default:
      return null
  }
}

// 获取测试PDF文件
export const getTestPdfFile = (): TestFile | null => {
  return getTestFileByType('pdf')
}

